Presence detection is a technology used to convey information about the availability of individuals. Individuals are often interested in the availability of others and, because they are often not co-located, they require mechanisms for conveying availability or status information. The devices that people interact with know bits and pieces about how available they are for communications or other forms of interaction with others at any instant. People who are on the phone are less available to most others for the duration of the call, but may want to be interrupted by selected callers.
The location of a person on a mobile phone is information that may be relevant for determining whether that person is available for a certain type of event. For example, someone traveling far away from home may not be available for physical interaction with their neighbors, but may be available to take a call. Similarly, someone near a particular restaurant at lunchtime is a potential consumer.
Presence related information is routinely generated in many devices connected to various networks. For example, a person using a Personal Computer (PC) attached to a network may generate various presence state information. An “On-line” state indicates a user has logged onto a network, such as the Internet or a corporate intranet, while an “Off-line” state indicates no connection is currently active between the user and the presence engine. “Idle” status implies the user's system, although logged on, has not been active recently. Similarly, a person who acknowledges a calendar event in a PC or personal digital assistant (PDA) essentially signals their limited availability to most others for some duration while at the same time indicates that the person is active on that device. This level of presence indication is useful, but it is sufficiently coarse to limit its utility.
Most presence systems rely on users to select presence indications through a menu on a PC or PDA or a button on a specific device. Keeping any presence indicator accurate to the actual availability status of the user potentially requires very frequent interaction by the user to supply status information. Such tedious human interaction potentially negates the effectiveness of presence-based communications systems. Some systems sense user interaction with a single device like a PC, which lessens the direct human input while decreasing overall accuracy, since using a mouse or keyboard certainly indicates the presence of the user at the device. However, it simultaneously indicates they are engaged in an activity with the device, the importance of which is unknown. The result is a convoluted view of availability. The user is certainly present to some degree, but may be busy and may not want to be disturbed. In these kinds of systems, the user still has to provide manual input to prevent being inappropriately represented and interrupted.
The reliability and usefulness of presence information depends on the type of information provided and the device from which the information is gathered. A person actively interacting with a computer indicates to some degree that she is available, but probably only to those on the same network. A PC or other network device inside a corporate network will have visibility, independently or through a corporate presence server, to many presence inputs related to many PCs or other devices on that network. Typically, however, a device inside a corporate firewall will be isolated from having access to presence data related to devices like mobile phones, that by their very nature interconnect through commercial service provider networks.
Even when reliable and useful presence information for a user is available, the basic concept of availability for communications is inherently dependent on who is wanting to communicate with the user. Likewise, the specifics of activities that the user is engaged in at any instant bear on the desirability to be contacted by various individuals. For example, when the user is on a conference call at work they may wish to be unavailable to their coworkers but available to their family members for urgent communications. The user may wish to be accessible by select clients regardless of time, day, and location, wherein accessibility for other clients may be limited to normal working hours when the user is in the office.
Further, the basic concept of availability for communications inherently is based on the type of communication medium available to the user and the circumstances surrounding the user at the time in which communications are desired. Many circumstances dictate whether silent or verbal communications are appropriate. In the conference call example, a user may be participating in the conference call, but may want to remain available to respond to instant messages or email from all or select people. As such, the user is unavailable for telephonic communications and available for text-based messaging. Additionally, even though multiple media are available, the user will typically prefer one text-based messaging technique over another.
Accordingly, there is a need for improving both the number and quality of inputs into a presence management system in order to more efficiently and effectively deliver presence information to users of the information. Further, there is a need to provide a prioritized list of available and preferred communication media to those desiring to communicate with the user. There is also a need for a presence management system capable of providing different views of availability for different audiences at any given time.